part of 'use_case.dart';

class RepetitionAnswerSelectionExposedCardLexicalItemMarkAsCompletelyLearnedResult
    extends Equatable {
  const RepetitionAnswerSelectionExposedCardLexicalItemMarkAsCompletelyLearnedResult({
    required this.currentCardInfo,
    required this.previousCardInfo,
    required this.trainingSize,
    required this.pickedTrainableLexicalItemIds,
    required this.pickedTrainableLexicalItems,
    required this.shouldStartTraining,
    required this.lastRepeatableLexicalItemId,
    required this.lastUnspecifiedLexicalItemId,
    required this.lexicalItemMap,
    required this.learningInfo,
  });

  final CardInfo currentCardInfo;
  final CardInfo? previousCardInfo;
  final int trainingSize;
  final BuiltSet<String> pickedTrainableLexicalItemIds;
  final BuiltSet<LexicalItem> pickedTrainableLexicalItems;
  final bool shouldStartTraining;
  final String? lastRepeatableLexicalItemId;
  final String? lastUnspecifiedLexicalItemId;
  final BuiltMap<String, LexicalItem> lexicalItemMap;
  final LearningInfo learningInfo;

  @override
  List<Object?> get props {
    return [
      currentCardInfo,
      previousCardInfo,
      trainingSize,
      pickedTrainableLexicalItemIds,
      pickedTrainableLexicalItems,
      shouldStartTraining,
      lastRepeatableLexicalItemId,
      lastUnspecifiedLexicalItemId,
      lexicalItemMap,
      learningInfo,
    ];
  }
}
